#pragma once
#include "TCharSupport.h"
#include "EpilExpressionCodeBase.h"
#include "EpilFieldInitializerCodeBase.h"


class EpilTableConstructorExpressionCode : public EpilExpressionCodeBase
{
	EPIL_CODE_DECL( TableConstructorExpression );

public:
	EpilTableConstructorExpressionCode( const EpilLexLocation & location );
	virtual ~EpilTableConstructorExpressionCode();

	EpilFieldInitializerCodeList &			GetInitializers()														{ return m_initializers; }
	const EpilFieldInitializerCodeList &	GetInitializers() const													{ return m_initializers; }
	void									SetInitializers( const EpilFieldInitializerCodeList & initializers )	{ m_initializers = initializers; }

	virtual tstring							ToEpilCode( int indent = 0 ) const;

private:
	EpilFieldInitializerCodeList			m_initializers;
};